1. Field of the Invention
The present invention relates generally to a data processing system. More particularly, the present invention is directed to a computer implemented method, system, and computer usable program code for checkpointing and restarting workload partitions.
2. Description of the Related Art
A workload partition (WPAR) is a virtualized operating system environment within a single instance of an operating system. A WPAR is a software partition that provides isolation of software services, applications, and administration by utilizing flexible software-defined boundaries within the single instance of an operating system. There are two types of WPARs, a system WPAR and an application WPAR. System WPARs are virtual system environments that closely resemble a logical partition or a separate system. System WPARs have their own private file systems, users and groups, login, network space, and administrative domain. All system WPARs share the same global kernel. This means each system WPAR will run its own copy of user space programs but share the kernel (operating system) with the rest of the WPARs and the global operating system. User space is not part of a kernel. User space is that portion of system memory in which user processes run. This contrasts with kernel space, which is that portion of memory in which the kernel executes and provides its services. Application programs execute in user space.
A system WPAR can be booted, accessed, and shutdown like a stand-alone data processing system. Application WPARs are lightweight environments used to isolate the execution of one or more application processes. WPAR mobility is an extension to both system and application WPARs that provides the functionality to move an actual running workload from one physical data processing system to another physical data processing system.
Many operating systems that are similar to a UNIX operating system, such as LINUX and UNIX SYSTEM V operating systems, use UNIX SYSTEM V inter-process communication (IPC) objects. Inter-process communication is a set of techniques, often referred to as objects, for exchanging data among two or more threads in one or more processes. UNIX SYSTEM V IPC objects can be one of three kinds of objects: UNIX SYSTEM V message queues, semaphores, and shared memory segments. A semaphore is a protected variable, an entity storing a value, or abstract data type, an entity grouping several variables that may or may not be numerical, that restricts access to shared resources in a multi-programming environment. An IPC semaphore object locks or unlocks shared resources. Message queues provide a way of sending a block of data from one process to another. Different processes can communicate by sending and receiving messages to and from the message queue. Shared memory segments provide an efficient way of directly sharing an address space between multiple processes. UNIX SYSTEM V is a version of a UNIX operating system. UNIX SYSTEM V was first released in 1993. UNIX SYSTEM V IPC objects are referred to throughout the disclosure as IPC objects.